'''
1.输入文件名 b.py
2.创建文件  文件名[复制].py
3.读取文件, 写入到复制的文件中
'''
try:
    # 1.输入文件名 b.py
    f_name = input('请输入文件名:') # 输入文件名 b.py  a.txt  b.tar[复制].gz
    # 2.创建文件  文件名[复制].py
    # cp_name = 
    # s = 'a.txt'
    # s = 'a.tar.gz'
    1/0
    i = f_name.rfind('.') # 4  从右往左查找,返回的是第一个.的索引值,如果没有找到,返回-1
    print(i) # 4
    cp_name = f_name[:i]+'[复制]'+f_name[i:] # 'a[复制].txt'  'a.tar[复制].gz'
    print(cp_name) # 'a[复制].txt'  'a.tar[复制].gz'
    # r = f1_name.split('.') # ['a', 'txt']
    # print(r) # ['a', 'txt']
    # r[0]+'[复制].'+r[1] # 'a[复制].txt

    f = open(f_name,'r',encoding='utf-8') # 写入文件,如果文件不存在,则创建文件,如果文件存在,则覆盖文件
    cp = open(cp_name,'w',encoding='utf-8') # 写入文件,如果文件不存在,则创建文件,如果文件存在,则覆盖文件
    # 3.读取文件, 写入到复制的文件中
    # data = f.read() # 读取文件的内容 保存在RAM中
    # cp.write(data)
    line = f.readline()
    while line: # 当line不为空时,执行循环体,当line为空时,跳出循环,结束循环
        cp.write(line) # 写入文件的内容  保存在磁盘中
        line = f.readline() # 读取文件的下一行
except Exception as e: # 捕获异常,如果捕获到异常,则执行except中的代码,如果没有捕获到异常,则执行else中的代码
    print('文件不存在') # 文件不存在
    print(e) # 文件不存在
finally:
    # 关闭文件(必须要关闭)
    f.close() # 关闭文件后，就不能再操作文件了，否则会报错：ValueError: I/O operation on closed file.
    cp.close() # 关闭文件后，就不能再操作文件了，否则会报错：ValueError: I/O operation on closed file.